The present invention relates generally to particle sorting and more specifically to software-based particle sorting for flow cytometry.
Flow cytometry is a technology that is used to analyze multiple physical characteristics of single particles, such as single cells in fluid suspension. The characteristics and properties of cells that can be measured using flow cytometry include the size, granularity, proteins and Deoxyribonucleic Acid (DNA), internal complexity, fluorescence intensity and other features of the cells. The fluorescence intensity is based on the fluorescence of target particles in the flow stream that have been labeled with a fluorescent dye. Detectors, such as photomultiplier tubes, are used to detect forward scatter, side scatter and fluorescence in various spectra to measure various properties of the cell. The characteristics and properties that are identified by flow cytometers can then be used to analyze, identify and/or sort cells.
A typical flow cytometer uses three main systems, i.e., a fluidic system, an optical system and an electronics system. The fluidic system transports particles in a fluid stream past laser beams for illumination. The optical system includes lasers that illuminate individual particles in the fluid stream, optical filters that filter the light and photomultiplier tubes that detect fluorescence and/or scatter. The electronics system processes the analog signal generated by the photomultiplier tubes or other detectors, processes those signals in analog and/or digital form, provides identification information for the cells and generates control signals for controlling the sorting of particles.
Typically in flow cytometers, the decision of whether to sort or not to sort a particle is made in hardware with approaches such as using lookup tables. For example, a lookup table may be implemented as a bit map in two dimensions corresponding to two measured quantities of interest such as forward scatter and different types of fluorescence, where the bit-position corresponding to a particular data point on the Cartesian plane is turned on if it is within a region of interest, and off otherwise. While efficient, lookup table based methods implemented in hardware are generally not sufficiently flexible to accommodate arbitrary user defined regions of interest of high resolution and high dynamic range data. From an implementation standpoint, look up tables may limit the sort logic to the use of AND gates. Further, the sort selection is typically limited to the two dimensional selections found on an X-Y graph available on a typical oscilloscope. Lookup tables, due to the down sampling required to implement tables of sizes such as 256×256 bits, may also limit the resolution of the data available for sortPage decisions when compared to the high resolution, high dynamic range data available from most flow cytometers. Implementation in hardware of an arbitrary range of regular expressions upon which to sort would be prohibitive in design complexity.
Since flow cytometers operate at very high speeds, it is necessary for the electronics systems to also operate at very high speeds while still being very accurate with high resolution and high dynamic range. Therefore, what is needed is a method and system for software sorting for flow cytometry.